var lastTab = 0;

var $dialogGraduacao;
var $dialogPosGraduacao;
var $dialogIdioma;
var $dialogAlocacao;
var $dialogCursoExtra;
var $dialogCargoPretendido;

$(function() {
	
	$("#tabs-inc").tabs({
//		heightStyle: "fill",
		activate: function (event, ui) {
			lastTab = ui.newTab.context.id;

            if (lastTab == "ui-id-3") {
            	$(".area-atuacao-chosen-select").chosen();
            }

            if (lastTab == "ui-id-4") {
            	$(".segmentos-pretendidos-chosen-select").chosen();
            }
            
            if (lastTab == "ui-id-5") {
            	
            }            
            
            if (lastTab == "ui-id-7") {
            	var myColor = 'rgba(41,100,159,.5)';
            	
            	$(".dados_gerais_knob").knob({
            	    'fgColor': myColor,
            	    draw: function() {
            	        var angle = this.val(),            	
            	            color = pusher.color(this.o.fgColor);
            	        
            	        color = color.alpha(angle/100);
            	        this.o.fgColor = color.html();
            	    }
            	});
            	
                $(".formacoes_knob").knob({
            	    'fgColor': myColor,
            	    draw: function() {
            	        var angle = this.val(),            	
            	            color = pusher.color(this.o.fgColor);
            	        
            	        color = color.alpha(angle/100);
            	        this.o.fgColor = color.html();
            	    }                	
                });
                
                $(".historico_knob").knob({
            	    'fgColor': myColor,
            	    draw: function() {
            	        var angle = this.val(),            	
            	            color = pusher.color(this.o.fgColor);
            	        
            	        color = color.alpha(angle/100);
            	        this.o.fgColor = color.html();
            	    }                	
                });
                
                $(".expectativa_knob").knob({
            	    'fgColor': myColor,
            	    draw: function() {
            	        var angle = this.val(),            	
            	            color = pusher.color(this.o.fgColor);
            	        
            	        color = color.alpha(angle/100);
            	        this.o.fgColor = color.html();
            	    }                	
                });

                $(".avaliacao_knob").knob({
            	    'fgColor': myColor,
            	    draw: function() {
            	        var angle = this.val(),            	
            	            color = pusher.color(this.o.fgColor);
            	        
            	        color = color.alpha(angle/100);
            	        this.o.fgColor = color.html();
            	    }                	
                });
                
                if($('.dados_gerais_knob').val() == 0) {
            	    $({value: 0}).animate({value: $('.dados_gerais_knob').attr("rel")}, {
            	        duration: 2000,
            	        easing:'swing',
            	        step: function() {
            	            $('.dados_gerais_knob').val(Math.ceil(this.value)).trigger('change');
            	        }
            	    });
                }
                if($('.formacoes_knob').val() == 0) {
            	    $({value: 0}).animate({value: $('.formacoes_knob').attr("rel")}, {
            	        duration: 2000,
            	        easing:'swing',
            	        step: function() {
            	            $('.formacoes_knob').val(Math.ceil(this.value)).trigger('change');
            	        }
            	    });
                }	
                if($('.historico_knob').val() == 0) {
            	    $({value: 0}).animate({value: $('.historico_knob').attr("rel")}, {
            	        duration: 2000,
            	        easing:'swing',
            	        step: function() {
            	            $('.historico_knob').val(Math.ceil(this.value)).trigger('change');
            	        }
            	    });
                }	
                if($('.expectativa_knob').val() == 0) {
            	    $({value: 0}).animate({value: $('.expectativa_knob').attr("rel")}, {
            	        duration: 2000,
            	        easing:'swing',
            	        step: function() {
            	            $('.expectativa_knob').val(Math.ceil(this.value)).trigger('change');
            	        }
            	    });
                }
                if($('.avaliacao_knob').val() == 0) {
            	    $({value: 0}).animate({value: $('.avaliacao_knob').attr("rel")}, {
            	        duration: 2000,
            	        easing:'swing',
            	        step: function() {
            	            $('.avaliacao_knob').val(Math.ceil(this.value)).trigger('change');
            	        }
            	    });
                }                
                
            } else {
            	$('.dados_gerais_knob').val(0);
            	$('.formacoes_knob').val(0);
            	$('.historico_knob').val(0);
            	$('.expectativa_knob').val(0);
            	$('.avaliacao_knob').val(0);
            }
		}
	});
	
	$("#tab_formacao").tabs();
	
	$("#form_dados_pessoais").validationEngine('attach');
	
	$("#accordion_avaliacao").accordion({
		heightStyle: 'content',
		
		activate: function (event, ui) {
			lastTab = ui.newPanel.context.id;
			
			if(lastTab == "ui-accordion-accordion_avaliacao-header-3") {
				$(".competencias-chosen-select").chosen();
			}
			
		}
	
	});
	
	//VERIFICA SE A ENTRADA � INCLUS�O OU CONSULTA/ALTERA��O.
	if($('#id_candidato').val() != null && $('#id_candidato').val() != 0) {
		carregaComboListaCursoGraduacao();
		carregaComboListaInstituicaoGraduacao();
		carregaComboListaTipoCursoPos();
		carregaComboListaIdiomas();
		carregaComboListaCargo();
		carregaComboListaEmpresa();
		carregaComboListaModalidadeContratacao();
	} else {
		$("#tabs-inc").tabs('option','disabled', [1, 2, 3, 4, 5, 6]);
	}
	
	$dialogGraduacao = $("#dialogGraduacaoProfissional").dialog({
		  autoOpen: false,
		  width: 400,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirGraduacaoProfissionalCandidato.do';
		    			
		    			dataVar = 'candidato.id='+$("#id_candidato").val()+'&graduacaoProfissional.cursoGraduacao.id='+$("#curso_graduacao_id").val()+'&graduacaoProfissional.instituicaoEnsino.id='+$("#instituicao_graduacao_id").val()+'&graduacaoProfissional.anoConclusao='+$("#anoConclusao_id").val();
		    		} else {
		    			urlVar = 'alterarGraduacaoProfissionalCandidato.do';
		    			dataVar = 'candidato.id='+$("#id_candidato").val()+'&graduacaoProfissional.candidato.id='+$("#id_candidato").val()+'&graduacaoProfissional.id='+$(this).data("id")+'&graduacaoProfissional.cursoGraduacao.id='+$("#curso_graduacao_id").val()+'&graduacaoProfissional.instituicaoEnsino.id='+$("#instituicao_graduacao_id").val()+'&graduacaoProfissional.anoConclusao='+$("#anoConclusao_id").val();
		    		}
		    		
		    		loading('#divListaGraduacao');
		    		
		    		$.ajax({
		    			   async: false,
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaGraduacaoProfissional(retorno);
		    			   },
		    			   complete: function() {
		    				   console.log("Chamada Gradua��o completa.");
		    			   }
		    			   
		    			});						
		    		
		    		$(this).dialog("close");
		    		
		        },        
		        Cancelar: function() {
		            $(this).dialog("close");
		        }
		    }				  
	});
	
	$dialogPosGraduacao = $("#dialogPosGraduacao").dialog({
		  autoOpen: false,
		  width: 400,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirPosGraduacaoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&posGraduacaoProfissional.tipoCursoPos.id='+$('#tipo_curso_id').val()+'&posGraduacaoProfissional.pos.id='+$('#curso_pos_id').val()+'&posGraduacaoProfissional.instituicaoEnsino.id='+$('#instituicao_pos_id').val()+'&posGraduacaoProfissional.anoConclusao='+$('#ano_conclusao_pos_id').val();
		    		} else {
		    			urlVar = 'alterarPosGraduacaoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&posGraduacaoProfissional.candidato.id='+$("#id_candidato").val()+'&posGraduacaoProfissional.id='+$(this).data("id")+'&posGraduacaoProfissional.tipoCursoPos.id='+$('#tipo_curso_id').val()+'&posGraduacaoProfissional.pos.id='+$('#curso_pos_id').val()+'&posGraduacaoProfissional.instituicaoEnsino.id='+$('#instituicao_pos_id').val()+'&posGraduacaoProfissional.anoConclusao='+$('#ano_conclusao_pos_id').val();
		    		}

		    		loading('#divListaPosGraduacao');
		    		
		    		$.ajax({
		    			   async: false,
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaPosGraduacao(retorno);
		    			   }, 
		    			   complete: function() {
		    				   console.log("Chamada dialogPosGraduacao completa.");
		    			   }
		    			});						
		    		
		    		$(this).dialog("close");				    		
		    		
		        },        
		        Cancelar: function() {
		            $(this).dialog("close");
		        }
		    }				  
	});
	
	$dialogPosGraduacao.on("change", "#tipo_curso_id", function() {
		$.ajax({
		   type: 'post',
		   url:'carregarComboPorTipoPos.do',
		   dataType : "json",
		   data: 'tipoCursoPosId='+$('#tipo_curso_id').val(),
		   success: function(retorno){
			   var listaRetorno = retorno.objetoRetornado;
				   
			   var listaTipoCurso = '<select name="pos" id="curso_pos_id"><option value="">Selecione...</option>';
				   
			   for(var i = 0; i<listaRetorno.length;i++) {
				   listaTipoCurso += '<option value="'+listaRetorno[i].id+'">'+listaRetorno[i].descricao+'</option>';
			   }
				   
			   listaTipoCurso += '</select>';
				   
			   $('#cursoPosCombo').html(listaTipoCurso);
		   }
		});						
	});

	$dialogIdioma = $("#dialogIdioma").dialog({
		  autoOpen: false,
		  width: 250,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirIdiomaDominadoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&idiomaDominado.idioma.id='+$('#idioma_id').val()+'&idiomaDominado.fluenciaFala='+$('#fala_id').val()+'&idiomaDominado.fluenciaEscrita='+$('#escrita_id').val()+'&idiomaDominado.fluenciaLeitura='+$('#leitura_id').val();
		    		} else {
		    			urlVar = 'alterarIdiomaDominadoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&idiomaDominado.candidato.id='+$("#id_candidato").val()+'&idiomaDominado.id='+$(this).data("id")+'&idiomaDominado.idioma.id='+$('#idioma_id').val()+'&idiomaDominado.fluenciaFala='+$('#fala_id').val()+'&idiomaDominado.fluenciaEscrita='+$('#escrita_id').val()+'&idiomaDominado.fluenciaLeitura='+$('#leitura_id').val();				    			
		    		}

		    		loading('#divListaIdiomas');
		    		
		    		$.ajax({
		    			   async: false,
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaIdiomasDominados(retorno);				    				   
		    			   },
		    			   complete: function() {
		    				   console.log("Chamada dialogPosGraduacao completa.");
		    			   }
		    			   
		    			});						
		    		
		    		$(this).dialog("close");				    		
		    		
		        },        
		        Cancelar: function() {
		            $(this).dialog("close");
		        }
		    }				  
	});

	$dialogAlocacao = $("#dialogAlocacao").dialog({
		  autoOpen: false,
		  width: 400,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirAlocacaoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&alocacao.cargo.id='+$('#cargo_id').val()+'&alocacao.empresa.id='+$('#empresa_id').val()+'&alocacao.modalidadeContratacao.id='+$('#modalidade_contratacao_id').val()+'&alocacao.descricao='+$('#descricao_atividade_id').val()+'&alocacao.dataInicio='+$('#data_inicio_id').val()+'&alocacao.dataFim='+$('#data_fim_id').val();
		    		} else {
		    			urlVar = 'alterarAlocacaoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&alocacao.candidato.id='+$("#id_candidato").val()+'&alocacao.id='+$(this).data("id")+'&alocacao.cargo.id='+$('#cargo_id').val()+'&alocacao.empresa.id='+$('#empresa_id').val()+'&alocacao.modalidadeContratacao.id='+$('#modalidade_contratacao_id').val()+'&alocacao.descricao='+$('#descricao_atividade_id').val()+'&alocacao.dataInicio='+$('#data_inicio_id').val()+'&alocacao.dataFim='+$('#data_fim_id').val();				    			
		    		}
		    		
		    		loading('#divListaAlocacao');

		    		$.ajax({
			    		   async: false,	
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaAlocacao(retorno);
		    				   
		    				   $('.historico_knob').attr('rel',retorno.objetoRetornado.porcentagemPreenchidaHistorico);
		    			   },
		    			   complete: function() {
		    				   console.log("Chamada dialogPosGraduacao completa.");
		    			   },
		    			   error: function() {
		    				   alert("Erro!");
		    			   }

		    			});						
		    		
		    		$(this).dialog("close");				    		
		    		
		        },        
		        Cancelar: function() {
		            $(this).dialog("close");
		        }
		    }				  
	});			
	
	$dialogCursoExtra = $("#dialogCursoExtra").dialog({
		  autoOpen: false,
		  width: 400,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirCursoExtraCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&cursoExtra.nomeCursoExtra='+$('#nome_curso_extra_id').val()+'&cursoExtra.instituicaoEnsino.id='+$('#instituicao_extra_id').val()+'&cursoExtra.horas='+$('#horas_curso_id').val();
		    		} else {
		    			urlVar = 'alterarCursoExtraCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&cursoExtra.candidato.id='+$("#id_candidato").val()+'&cursoExtra.id='+$(this).data("id")+'&cursoExtra.nomeCursoExtra='+$('#nome_curso_extra_id').val()+'&cursoExtra.instituicaoEnsino.id='+$('#instituicao_extra_id').val()+'&cursoExtra.horas='+$('#horas_curso_id').val();
		    		}

		    		loading('#divListaCursoExtra');
		    		
		    		$.ajax({
		    			   async: false,
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaCursoExtra(retorno);
		    			   },
		    			   complete: function() {
		    				   console.log("Chamada dialogPosGraduacao completa.");
		    			   }

		    			});						
		    		
		    		$( this ).dialog( "close" );
		        },        
		        Cancelar: function() {
		            $( this ).dialog( "close" );
		        }
		    }				  
	});
	
	$dialogCargoPretendido = $("#dialogCargoPretendido").dialog({
		  autoOpen: false,
		  width: 300,
		  modal: true,
		    buttons: {
		    	Confirmar: function() {
		    		
		    		var urlVar = '';
		    		var dataVar = '';
		    		
		    		if($(this).data("acao") == "inclusao") {
		    			urlVar = 'incluirCargoPretendidoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&cargoPretendido.cargo.id='+$('#cargo_pretendido_id').val()+'&cargoPretendido.nivel='+$('#nivel_cargo_pretendido_id').val();
		    		} else {
		    			urlVar = 'alterarCargoPretendidoCandidato.do';
		    			dataVar = 'candidato.id='+$('#id_candidato').val()+'&cargoPretendido.candidato.id='+$("#id_candidato").val()+'&cargoPretendido.id='+$(this).data("id")+'&cargoPretendido.cargo.id='+$('#cargo_pretendido_id').val()+'&cargoPretendido.nivel='+$('#nivel_cargo_pretendido_id').val();				    			
		    		}

		    		loading('#divListaCargoPretendido');
		    		
		    		$.ajax({
		    			   async: false,
		    			   type: 'post',
		    			   url: urlVar,
		    			   data: dataVar, 
		    			   dataType : "json",
		    			   success: function(retorno){
		    				   carregaListaCargoPretendido(retorno);
		    				   
		    				   $('.expectativa_knob').attr('rel',retorno.objetoRetornado.porcentagemPreenchidaExpectativa);
		    			   },
		    			   complete: function() {
		    				   console.log("Chamada dialogPosGraduacao completa.");
		    			   }

		    			});						
		    		
		    		$( this ).dialog( "close" );
		        },        
		        Cancelar: function() {
		            $( this ).dialog( "close" );
		        }
		    }				  
	});			
	
	$("#tabela_historico-inc").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});
	
	$("#tabela_formacao_profissional").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});
	
	$("#tabela_pos_graduacao").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});

	$("#tabela_curso_extra").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});

	$("#tabela_idioma").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});
	
	$("#tabela_cargo-inc").dataTable({
		"bPaginate": false,
		"bLengthChange": false,
		"bFilter": false,
		"bSort": false,
		"bInfo": false
	});	
	
});
